package com.kaifamiao.strings;

/**
 * 1、indexOf( int ch )
 * 2、indexOf( String sub )
 * 3、indexOf( int ch, int fromIndex )
 * 4、indexOf( String sub, int fromIndex )
 * 5、lastIndexOf( int ch )
 * 6、lastIndexOf( String sub )
 * 7、lastIndexOf( int ch, int fromIndex )
 * 8、lastIndexOf( String sub, int fromIndex )
 * 9、contains(CharSequence)
 */
public class SearchString {

    public static void main(String[] args) {

        String s = "http://www.kaifamiao.com/2022/kai/fa/miao";

        // int first = s.indexOf( 97 );
        // 从字符串中查找指定字符首次出现的位置，若存在则返回其索引，否则返回-1
        int first = s.indexOf( 'a' );
        System.out.println( first );

        // 从字符串中查找指定子串首次出现的位置，若存在则返回其索引，否则返回-1
        first = s.indexOf( "fa" );
        System.out.println( first );

        // 从字符串中指定位置(10)开始查找指定字符('/')首次出现的位置，
        // 若被查找的区间存在则返回其索引，否则返回-1
        int index = s.indexOf( '/', 10 );
        System.out.println( "index: " + index );

        // 从字符串中指定位置(20)查找指定子串("fa")首次出现的位置，
        // 若被查找的区间存在则返回其索引，否则返回-1
        index = s.indexOf( "fa" , 20 );
        System.out.println( "index: " + index );

        // int last = s.lastIndexOf( 97 );
        // 从字符串中查找指定字符最后出现的位置，若存在则返回其索引，否则返回-1
        int last = s.lastIndexOf( 'a' );
        System.out.println( last );

        // 从字符串中查找指定子串最后出现的位置，若存在则返回其索引，否则返回-1
        last = s.lastIndexOf( "fa" );
        System.out.println( last );

        // 从字符串中指定位置(20)开始查找指定字符('a')最后出现的位置，
        // 若被查找的区间存在则返回其索引，否则返回-1
        int position = s.lastIndexOf( 'a' , 20 );
        System.out.println( "position: " + position );

        // 从字符串中指定位置(20)查找指定子串("fa")最后出现的位置，
        // 若被查找的区间存在则返回其索引，否则返回-1
        position = s.lastIndexOf( "fa", 20 );
        System.out.println( "position: " + position );

        // 判断指定字符序列("2022")是否被包含在当前字符串(s)中，若包含即返回true否则返回false
        boolean exists = s.contains( "2022" );
        System.out.println( exists );

    }

}
